package com.nd.android.u.ui.beanStarApp;

import ims.IMSdkEntry;
import android.app.Notification;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;

import com.common.android.utils.smiley.Smiley;
import com.common.android.utils.smiley.Smileyhelper;
import com.nd.android.u.allCommonUtils.PackageUtils;
import com.nd.android.u.commonWidget.NotificationMsg;
import com.nd.android.u.controller.ChatGlobalVariable;
import com.nd.android.u.controller.bean.message.BaseDisplayMessage_App;
import com.nd.android.u.ui.ChatEntry;
import com.nd.android.u.ui.R;

/**
 * 应用消息展示类，有些UI相关的操作要在这里进行
 * <br>Created 2014-10-30 上午11:05:54
 * @version  
 * @author   cb		
 * @see 	 
 */
public class DisplayMessage_App extends BaseDisplayMessage_App{
	
	@Override
	public void showNotify() {
        if (ChatGlobalVariable.getInstance().noNeedNotify(this)){
            //不需要显示通知
        	specialProccessOnReceive();
            return;     
        }
		Context context = IMSdkEntry.INSTANCE.context;

		// 在通知栏上面显示“收到1条应用消息”
		String flashText = context.getString(R.string.notify_apk);
		// 显示通知的具体内容（为消息的文本）
		String tipText = Smileyhelper.getInstance().showSmileyByTip(displayContent, Smiley.TYPE_CHAT);

		// 设置剩余多少条未读消息
		String title = getUnreadMessage();

		// 设置点击后跳转的目标
		Intent notifyIntent = new Intent();
		notifyIntent.setClass(context, getDisplayClass());
		Bundle bundle = getBundle(context);
		notifyIntent.putExtras(bundle);
		// 生成通知
		Notification notification = NotificationMsg.getInstance().obtainNotify(flashText, title, tipText,
				notifyIntent,soundResId);
		// 显示通知
		NotificationMsg.getInstance().showNotify(notification, this, false);
		specialProccessOnReceive();
	}
	
	/**
	 * 获取应用的名称
	 * <br>Created 2014-7-27 下午1:48:47
	 * @return 应用的名称
	 * @author       cb
	*/
	public String getAppName(Context context){
//		默认方法，如果是个性化的界面，需要子类自己实现
		return ChatEntry.INSTANCE.chatCallOtherModel_UI.getAppName(appId, appCode);
	}
	
	@Override
	public void onItemClick(Context context) {
		ChatEntry.INSTANCE.chatCallOtherModel_UI.jumpActivity(appId, appCode, bussinessId, context,false);
	}
}
